package io;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

//本类是用来 演示读取文本数据的demo
public class ReadStringDemo {
    public static void main(String[] args) throws IOException {
//        1.从fos.text文件中 读取所有的字节
//        2.将这些字节转化为字符串
//        创建File对象,构造方法中传递读取数据的源
        File file = new File("fos.txt");//这行代码创建了一个 File 对象，它表示一个文件或目录的路径，
                                                   // 但不会真正打开或读取文件内容,
                                             //注意：此时只是创建了一个描述该文件路径的对象，并没有真正访问磁盘上的文件内容。
//        获取到文件的长度
        long len = file.length();
//        创建了一个FileInputStream对象
        FileInputStream fis = new FileInputStream(file);//FileInputStream 是 InputStream 的子类，用于以字节流的方式读取文件。
                                                       // fis 是你定义的变量名，引用这个输入流对象。
                                                 //构造方法传入的是前面创建的 File 对象 file，表示要打开并读取这个文件的内容。
//        创建一个与文件相同长度的字节数组
        byte[] data = new byte[(int)len];
//         读取文件的内容到字节数组中
        fis.read(data);
//        将data数组中的所有字节转换为字符串
        String line = new String(data, StandardCharsets.UTF_8);
        System.out.println( line);
//        关闭文件流
        fis.close();

    }
}


